﻿using GIC.BO.Access;
using GIC.DAO.Model;
using GIC.UI.Helper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GIC.UI
{
    public partial class EtiquetaChassi : Form
    {
        private Configuracoes configuracoes;
        private GICBo bo = new GICBo();

        public EtiquetaChassi(Configuracoes configuracoes)
        {
            InitializeComponent();
            this.configuracoes = configuracoes;
            loadgrid();
            this.TopMost = true;
        }


        private void loadgrid()
        {
            gvwResultado.Rows.Clear();
            List<EtiquetaChassiLeitor> lista = bo.listarChassiLeitor();

            int i = 0;
            foreach (EtiquetaChassiLeitor et in lista)
            {
                gvwResultado.Rows.Insert(i++, et.CodigoEtiqueta, et.CodigoChassi);
            }
            
        }

        private void EtiquetaChassi_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.configuracoes.Enabled = true;
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (this.txtChassiLeitor.Text == null || this.txtChassiLeitor.Text == "" || this.txtChassiImpresso.Text == null || this.txtChassiImpresso.Text == "")
            {
                MessageBox.Show("Chassi do Leitor e Chassi Impresso devem ser preenchidos!", "...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                EtiquetaChassiLeitor etiquetaChassiLeitor = new EtiquetaChassiLeitor();
                etiquetaChassiLeitor.CodigoChassi = this.txtChassiImpresso.Text.Trim().TrimEnd().TrimStart().ToUpper();
                etiquetaChassiLeitor.CodigoEtiqueta = this.txtChassiLeitor.Text.Trim().TrimEnd().TrimStart().ToUpper();

                try
                {
                    bo.salvar(etiquetaChassiLeitor);



                }
                catch (Exception ex){

                    etiquetaChassiLeitor = bo.recuperarEtiquetaChassiLeitorExistentePeloCodigoEtiqueta(etiquetaChassiLeitor.CodigoEtiqueta);

                    etiquetaChassiLeitor.CodigoChassi = this.txtChassiImpresso.Text.Trim().TrimEnd().TrimStart().ToUpper();

                    bo.salvar(etiquetaChassiLeitor);
                }

                this.txtChassiImpresso.Text = "";
                this.txtChassiLeitor.Text = "";

                MessageBox.Show("Informações salvas com suceso!", "...", MessageBoxButtons.OK, MessageBoxIcon.Information);

                loadgrid();
            }
        }
    }
}
